docker |
您所在的位置:网站首页 › ubuntu启动docker web服务后访问不到 › docker |
运行一个web应用
docker pull training/webapp
docker run -d -P training/webapp python app.py
-d是后台运行容器并打印容器ID -P是将容器内部使用的网络端口随机映射到主机端口 -p则是要带参数的,指定端口的映射方法。下面是可以带的几种参数: 端口到端口:比如32769:5000就是容器的5000端口映射到主机的32769端口。网址到端口:比如127.0.0.1:5001:5000,这样就可以通过访问127.0.0.1:5001访问容器的5000端口了绑定UDP端口:比如127.0.0.1:5000:5000/udp在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: docker attach 容器ID/Names docker exec 容器ID/Names 推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。 查看当前运行的容器Container ID和Names指的是同一个东西,所以每次指定容器时,二者任选一即可。 用names也可以 docker stop 45f65defa26b 指定端口映射比如让容器的5000端口映射到主机的32769 pxy@pxy-pc:~$ docker run -d -p 32769:5000 training/webapp python app.py 06e16346ffc8755625ae4c285a51376100853de014671a5272692900111031a7 pxy@pxy-pc:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06e16346ffc8 training/webapp "python app.py" 4 seconds ago Up 3 seconds 0.0.0.0:32769->5000/tcp mystifying_mcclintock此时需要访问http://0.0.0.0:32769/ 如果带了端口号,也可以只看某一个端口的映射情况。比如最后一个就是容器内部的5000端口映射到主机的127.0.0.1:5000。 pxy@pxy-pc:~$ docker port 06e16346ffc8 5000/tcp -> 0.0.0.0:32769 pxy@pxy-pc:~$ docker port mystifying_mcclintock 5000/tcp -> 0.0.0.0:32769 pxy@pxy-pc:~/Desktop$ docker port funny_williams 5000 127.0.0.1:5000 查看日志 pxy@pxy-pc:~$ docker logs -f mystifying_mcclintock * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 172.17.0.1 - - [14/Dec/2020 08:53:25] "GET / HTTP/1.1" 200 - ^C-f 是让docker logs像使用tail -f 文件名一样输出容器内部的标准输出(即:会把文件最尾部的内容显示在屏幕上,并且不断刷新。只要该文件还在刷新就一直可以看到最新内容)。 查看容器内部运行的进程 pxy@pxy-pc:~$ docker top mystifying_mcclintock UID PID PPID C STIME TTY TIME CMD root 5329 5307 0 16:52 ? 00:00:00 python app.py 导出容器的配置和状态信息 docker inspect mystifying_mcclintock > info.txt实际上info.txt是一个json文件。 导出容器如果要导出本地某个容器,可以使用 docker export 命令。 $ docker export 1e560fca3906 > ubuntu.tar 导入容器快照可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1: $ cat docker/ubuntu.tar | docker import - test/ubuntu:v1此外,也可以通过指定 URL 或者某个目录来导入,例如: $ docker import http://example.com/exampleimage.tgz example/imagerepo 删除容器 $ docker rm -f 1e560fca3906下面的命令可以清理掉所有处于终止状态的容器。 $ docker container prune 查询最近一次创建的容器 docker ps -l 查看所有容器 docker ps -a这里包括exited的容器。 重启容器 docker start mystifying_mcclintock正在运行的容器可以用restart重启。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |